using System;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("ShaderTime")]
	public class ShaderTime : MonoBehaviour
	{
		public static float LOW_PERCISION => MonoClass.smethod_6<float>(TritonHs.MainAssemblyPath, "", "ShaderTime", "LOW_PERCISION");

		public static float MEDIUM_PERCISION => MonoClass.smethod_6<float>(TritonHs.MainAssemblyPath, "", "ShaderTime", "MEDIUM_PERCISION");

		public static float HIGH_PERCISION => MonoClass.smethod_6<float>(TritonHs.MainAssemblyPath, "", "ShaderTime", "HIGH_PERCISION");

		public float m_maxTime => method_2<float>("m_maxTime");

		public float m_time => method_2<float>("m_time");

		public bool m_enabled => method_2<bool>("m_enabled");

		public ShaderTime(IntPtr address, string className)
			: base(address, className)
		{
		}

		public ShaderTime(IntPtr address)
			: this(address, "ShaderTime")
		{
		}

		public static ShaderTime Get()
		{
			return MonoClass.smethod_15<ShaderTime>(TritonHs.MainAssemblyPath, "", "ShaderTime", "Get", Array.Empty<object>());
		}

		public void Awake()
		{
			method_8("Awake");
		}

		public void Update()
		{
			method_8("Update");
		}

		public void OnDestroy()
		{
			method_8("OnDestroy");
		}

		public void DisableShaderAnimation()
		{
			method_8("DisableShaderAnimation");
		}

		public void EnableShaderAnimation()
		{
			method_8("EnableShaderAnimation");
		}

		public void UpdateShaderAnimationTime()
		{
			method_8("UpdateShaderAnimationTime");
		}

		public void UpdateGyro()
		{
			method_8("UpdateGyro");
		}
	}
}
